/* 
 * File:   system.h
 * Author: blastin
 *
 * Created on 22 de Junho de 2011, 23:32
 */

#define     MAP_H
#define     CORPO_SYS_H
#define     MAP_LIVRE       0
#define     MAP_LIMITE      1
#define     CORPO_CARACTERE 4
#define     MAX_VEL         150
#define     MAX_ANG         90


enum _flag{
    
    NM = 0x0,
    BM = 0x1,
    MC = 0x4,
    
    
};

#define BLOCK_MAP BM

#undef NULL
#define NULL 0


#ifndef M_PI
        #define M_PI		3.14159265358979323846
#endif


typedef struct map_information {
    const int coordenadas_line,
	      coordenadas_colun;
    char *nome,index[200][200];

}map_info;



typedef struct corpo_information{
    
    struct {
    int segmento_x,/* base_corpo*/
        segmento_y,/* altura_corpo*/
        angulo,
        velocidade,
        base,
        altura,
        peso, /*a implementar*/
        local_queda_x,
        local_queda_y;
    }object;
    
    int   a_x,a_y,
          b_x,b_y,
          c_x,c_y,
          d_x,d_y,
          e_x,e_y, 
          f_x,f_y, 
          g_x,g_y, 
          h_x,h_y, 
          i_x,i_y, 
          j_x,j_y, 
          k_x,k_y, 
          l_x,l_y, 
          m_x,m_y, 
          n_x,n_y, 
          o_x,o_y, 
          p_x,p_y, 
          q_x,q_y, 
          r_x,r_y; 

      
    int  ponto_extremo_leste_y,ponto_extremo_leste_x, ponto_extremo_oeste_y,ponto_extremo_oeste_x,ponto_extremo_sul_y,ponto_extremo_sul_x;
      
    }object_corpo;

    object_corpo search_corpo(void);
    
    extern void putmap(map_t m_i);